Arbitrary waveform generator with configurable digital signal processing unit

ABSTRACT

An arbitrary waveform generator including a digital signal procession unit and a memory. The digital signal processing unit may be configurable to interconnect a plurality of processing components in different configurations to process data received from the memory and perform one of a plurality of different functions to compute or enhance waveforms without having to store complex waveform data in the memory. In a first configuration, the digital signal processing unit may perform digital up-conversion functions on received waveform data to generate enhanced waveform data, and in a second configuration may perform data interpolation functions to generate enhanced waveform data. In a third configuration, the digital signal processing unit may receive data comprising attributes of a waveform from the memory and perform hardware-controlled arbitrary waveform generation functions. In a fourth configuration, the digital signal processing unit may receive information from software and perform software-controlled arbitrary waveform generation functions.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to instrumentations systems and, moreparticularly, to arbitrary waveform generator design.

2. Description of the Related Art

Signal generation is used in a wide variety of applications, including,for example, industrial testing and verification, product design, andcontrol, among others. In one application of signal generation, a signalis generated according to waveform data, and provided as input orstimulus to a unit under test (UUT). Resulting output from the UUT maythen be analyzed to characterize the UUT, e.g., for quality control,design feedback, etc. Generally, waveform generators are used togenerate such signals.

Waveform generators may be used to produce one or more waveforms havingdefined characteristics. A waveform is a graphical representation of asignal, for example, an analog data signal or a digital data signal. Thegraphical representation may be a plot of amplitude (e.g., voltage)versus time. Therefore, a waveform representing an analog signal maycomprise continuous and varying amplitude plots with respect to time(e.g., a sinusoidal wave), and a waveform representing a digital signalmay comprise one or more pulses or discrete amplitude plots with respectto time (e.g., a binary pattern).

Waveform generators may be stand-alone systems or computer-basedsystems. In addition, waveform generators, also called signal sources,may be classified into two general types of waveform generators:arbitrary waveform generators and digital waveform generators. Arbitrarywaveform generators are primarily used in analog and mixed-signalapplications. Digital waveform generators, also called logic signalsources, include two classes of instruments: pattern generators andpulse generators. Logic signal sources are primarily used in digitalsystem applications, for example, to provide stimulus signals, such asdigital data patterns.

Waveform generators may generate waveforms by several methods. Forexample, waveform generators may create a waveform in response to a userinput based on a plurality of waveform definitions. Additionally,waveform generators may create waveforms by receiving an existing signaland reproducing the signal. Furthermore, waveform generators may modifyan existing signal. After creating, reproducing, and/or modifying asignal, waveform generators may output the one or more analog or digitalsignals.

SUMMARY OF THE INVENTION

Various embodiments of an arbitrary waveform generator including adigital signal procession unit and a memory are disclosed. The digitalsignal processing unit may include a plurality of processing components.The digital signal processing unit may be configurable to interconnectat least a subset of the plurality of processing components in differentconfigurations to process data received from the memory and perform oneof a plurality of different functions to compute or enhance waveforms.In one embodiment, the digital signal processing unit may beconfigurable by a user via software to perform the different waveformgeneration functions.

In a first configuration, the digital signal processing unit may receivewaveform data from the memory and perform digital up-conversionfunctions on the received waveform data to generate enhanced waveformdata. In a second configuration, the digital signal processing unit mayreceive waveform data from the memory and perform data interpolationfunctions on the received waveform data to generate enhanced waveformdata. In a third configuration, the digital signal processing unit mayreceive data comprising attributes of a waveform from the memory andperform hardware-controlled arbitrary waveform generation functions togenerate waveform data. In a fourth configuration, the digital signalprocessing unit may receive customized waveform data from software andperform software-controlled arbitrary waveform generation functions.

Typically, waveforms generated by arbitrary waveform generators need tomeet strict frequency or time domain specifications. This can oftentranslate into very complex waveforms that require time-consumingsoftware computation, large amounts of on-board memory, and largedownload times. Computing these complex waveforms in hardware mayalleviate many of the disadvantages of typical arbitrary waveformgenerators. Performing computations in hardware is usually much fasterthan software computations. Also, by performing hardware computations,much smaller (less complex) waveforms may need to be saved in the memorysince the hardware would compute the complex waveforms during thewaveform generation process. Since less memory may be required to storewaveform data, memory download times may be significantly reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of one embodiment of a waveform generationsystem;

FIG. 2 is a block diagram of one embodiment of the digital signalprocessing unit comprised in the arbitrary waveform generator of FIG. 1;

FIG. 3 is a block diagram of one embodiment of the digital signalprocessing unit in a first configuration for performing up-conversionfunctions;

FIG. 4 is a block diagram of one embodiment of the digital signalprocessing unit in a second configuration for performing datainterpolation functions;

FIG. 5 is a block diagram of one embodiment of the digital signalprocessing unit in a third configuration for performinghardware-controlled arbitrary waveform generation functions by using anumerically-controlled oscillator (NCO); and

FIG. 6 is a block diagram of one embodiment of the digital signalprocessing unit in a fourth configuration for performingsoftware-controlled arbitrary waveform generation functions by using anNCO.

While the invention is susceptible to various modifications andalternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that the drawings and detaileddescription thereto are not intended to limit the invention to theparticular form disclosed, but on the contrary, the intention is tocover all modifications, equivalents and alternatives falling within thespirit and scope of the present invention as defined by the appendedclaims. Note, the headings are for organizational purposes only and arenot meant to be used to limit or interpret the description or claims.Furthermore, note that the word “may” is used throughout thisapplication in a permissive sense (i.e., having the potential to, beingable to), not a mandatory sense (i.e., must). The term “include”, andderivations thereof, mean “including, but not limited to”. The term“coupled” means “directly or indirectly connected”.

DETAILED DESCRIPTION

Waveform Generation System

Turning now to FIG. 1, a block diagram of one embodiment of a waveformgeneration system 100 is shown. In the illustrated embodiment, thesystem 100 includes a computer system 110, an arbitrary waveformgenerator 150, and a unit under test (UUT) 180. The computer system 110is connected to the arbitrary waveform generator 150, which is furtherconnected to the UUT 180. The computer system 110 may be a personalcomputer (PC) system. However, it is noted that in other embodiments thecomputer system 110 may be any of various types of computing orprocessing systems, including mainframe computer systems, workstations,and portable computers, among others. It is also noted that thecomponents of the system 100 may be interconnected in various ways.

The arbitrary waveform generator 150 may be a board or card which may bereceivable in the computer system 110. It is noted however that in someembodiments the arbitrary waveform generator 150 may be another type ofdevice, for example, a stand-alone system, or an integrated circuit(IC), among others. The arbitrary waveform generator 150 may beconnected to the UUT 180 to generate a signal based on waveform data tostimulate the UUT 180. In some embodiments, an output signal from theUUT 180 is analyzed by the computer system 110 to characterize the UUT.

In the illustrated embodiment of FIG. 1, the arbitrary waveformgenerator 150 includes a memory 151, a sequencing engine 152, a digitalsignal processing unit 155, selection logic 153, a digital-to-analogconverter (DAC) 154, and an analog output circuitry 157. Specifically,the memory 151 is coupled to the sequencing engine 152, the digitalsignal processing unit 155, and the selection logic 153. The digitalsignal processing unit 155 is connected to the selection logic 153,which is coupled to the DAC 154. The DAC 154 is connected to the analogoutput circuitry 157.

The memory 151 may receive data from the computer system 110 and maystore the data for waveform generation. The data may be waveform data ordata comprising attributes of a waveform. It is noted however that insome embodiments the memory 151 of the arbitrary waveform generator 150may receive data from other devices and/or the data may be in otherforms. The sequencing engine 152 may access one or more addresslocations in the memory 151 to download data for waveform generationfunctions. The downloaded data may be sent to the digital signalprocessing unit 155 to perform hardware computations on the data andgenerate enhanced waveform data. The generated waveform data may then besent to the DAC 154 to convert the digital data into analog form. Theanalog output circuitry 157 may modify the analog signals and may outputthe corresponding waveform, e.g., to stimulate the UUT 180.

It should be noted that the components described with reference to FIG.1 are meant to be exemplary only, and are not intended to limit theinvention to any specific set of components or configurations. Forexample, in various embodiments, one or more of the components describedmay be omitted, combined, modified, or additional components included,as desired. For instance, in some embodiments, the arbitrary waveformgenerator 150 may include additional components or some of theillustrated components may be replaced with alternative components.Also, in other embodiments, the system 100 may include a stand-alonewaveform generator having the digital signal processing unit 155, ratherthan a computer-based waveform generator.

Arbitrary Waveform Generator with Configurable Digital Signal ProcessingUnit

FIG. 2 is a block diagram of one embodiment of the digital signalprocessing unit 155 comprised in the arbitrary waveform generator 150.The digital signal processing unit 155 may be implemented in hardwareand/or software and may be comprised in an integrated circuit (IC),e.g., a digital IC. In one embodiment, the digital signal processingcircuit 155 may be implemented in a field programmable gate array(FPGA). It is noted however that in other embodiments the digital signalprocessing circuit 155 may be implemented in any type of circuit. Thedigital signal processing unit 155 may receive data from memory (e.g.,memory 151 of FIG. 1) to perform hardware computations on the data andgenerate enhanced waveform data for a DAC (e.g., DAC 154 of FIG. 1).

In the illustrated embodiment, the digital signal processing unit 155includes a plurality of processing components, including gain circuits210A and 210B (gain circuitry 210), offset circuits 220A and 220B(offset circuitry), interpolating filters 230A and 230B (interpolatingfilters 230), multipliers 235A and 235B (multipliers 235), an adder 270,a demultiplexer 205, and numerically-controlled oscillator (NCO) 250. Inone embodiment, the demultiplexer 205 may be logic that demuxes ordivides a single data stream received from the memory 151 into multipleoutputs. Each of the gain circuits 210 may be digital multipliers thatcontrols the gain of a data path. Each of the offset circuits 220 may bea digital adder that controls the offset of the data path. Theinterpolation filters 230 may be digital filters that interpolatereceived data from a slow sample rate up to a higher sample rate. TheNCO 250 may be a device that can generate an arbitrary waveform at aprogrammable frequency with two independent programmable phase outputs.The multipliers 235 may be digital multipliers used to mix the in-phase(I) and quadrature-phase (Q) data paths with the NCO 250 during anup-conversion function, as will be further described below. The adder270 may be a digital adder used to combine the I and Q data paths duringan up-conversion function.

Typically, waveforms generated by arbitrary waveform generators need tomeet strict frequency or time domain specifications. This can oftentranslate into very complex waveforms that require time-consumingsoftware computation, large amounts of on-board memory, and largedownload times. Computing these complex waveforms in hardware mayalleviate many of the disadvantages of typical arbitrary waveformgenerators. Performing computations in hardware is usually much fasterthan software computations. Also, by performing hardware computations,much smaller (less complex) waveforms may need to be saved in the memory151 since the hardware would be computing the complex waveforms duringthe waveform generation process. Since less memory 151 may be requiredto store waveform data, memory download times may be significantlyreduced. In one embodiment, the digital signal processing unit 155 ofthe arbitrary waveform generator 150 may be used to perform thenecessary computations in hardware.

The digital signal processing unit 155 may compute or enhance waveformsfor many applications. The digital signal processing 155 unit mayinterconnect at least a subset of the plurality of processing componentsin different configurations to process the data received from the memory151 and perform one of a plurality of different functions to compute orenhance waveforms. In one embodiment, the digital signal processing unit155 is configurable by a user via software in the computer system 110 toperform the different functions. It is noted however that in someembodiments the digital signal processing unit 155 may be configurableby other methods, e.g., by software from a device other than computersystem 110. Also, in one embodiment, each of the plurality of processingcomponents of the digital signal processing unit 155 may be programmable(and re-programmable) by software to process the data received from thememory 151 in various ways, e.g., components may be programmable withdifferent attributes of a waveform.

In a first configuration, the digital signal processing unit 155 mayreceive waveform data from the memory 151 and perform digitalup-conversion functions on the received waveform data to generateenhanced waveform data. In a second configuration, the digital signalprocessing unit 155 may receive waveform data from the memory 151 andperform data interpolation functions on the received waveform data togenerate enhanced waveform data. In a third configuration, the digitalsignal processing unit 155 may receive data comprising attributes of awaveform from the memory 151 and perform hardware-controlled arbitrarywaveform generation functions to generate waveform data. In a fourthconfiguration, the digital signal processing unit 155 may receiveinformation from software (e.g., of computer system 110) and performsoftware-controlled arbitrary waveform generation functions. Embodimentsof the first through the fourth configurations of the digital signalprocessing unit 155 will be further described below with reference toFIGS. 3-6.

It should be noted that the components described with reference to FIG.2 are meant to be exemplary only, and are not intended to limit theinvention to any specific set of components or configurations. Forexample, in various embodiments, one or more of the components describedmay be omitted, combined, modified, or additional components included,as desired. For instance, in some embodiments, the digital signalprocessing unit 155 of the arbitrary waveform generator 150 may beconfigured to any number of configurations to perform differentfunctions, e.g., two configurations or six configurations. Also, inother embodiments one or more of the plurality of processing componentsmay have a different design or configuration.

FIG. 3 is a block diagram of one embodiment of the digital signalprocessing unit 155 in a first configuration for performingup-conversion functions. The first configuration may include a firstdata path and a second data path and may include the plurality ofprocessing components interconnected in a particular way to performup-conversion functions. The first data path may include a firstprogrammable gain circuit 210A coupled to a first programmable offsetcircuit 220A, which is further coupled to first programmableinterpolating filters 230A. The second data path may include a secondprogrammable gain circuit 210B coupled to a second programmable offsetcircuit 220B, which is further coupled to second programmableinterpolating filters 230B. The output terminal of the interpolatingfilters 230A may be coupled to a first input terminal of the multiplier235A, and the output terminal of the interpolating filters 230B may becoupled to a first input terminal of the multiplier 235B. A first outputterminal of the NCO 250 may connected to a second input terminal of themultiplier 235A, and a second output terminal of the NCO 250 mayconnected to a second input terminal of the multiplier 235B. Also, eachof the outputs of the multiplier 235A and the multiplier 235B may beconnected to one of the inputs of the adder 270. The output terminal ofthe adder 270 may be connected to the output terminal of the digitalsignal processing unit 155 to provide output waveform data to the DAC154.

The digital signal processing unit 155 may also include one or moresoftware-controlled registers, which are controlled by software in thecomputer system 110 of FIG. 1. It is noted however that in someembodiments the software-controlled registers may be controlled bysoftware from other devices other than the computer system 110. In thefirst configuration, a software-controlled register 360 may be coupledto the programmable NCO 250 to control the frequency and phase of thewaveforms generated by the NCO 250. It is also noted that in someembodiments additional software-controlled registers may be coupled tothe gain circuitry 210, the offset circuitry 220, and/or theinterpolation filters 230 to control the gain, offset, and interpolationfunctions.

In the first configuration for performing digital up-conversionfunctions, the first data path may receive base-band in-phase (I) dataand the second data path may receive base-band quadrature-phase (Q) datafrom the memory 151. The digital signal processing unit 155 may firstperform gain and offset functions via the programmable gain circuitry210 and the programmable offset circuitry 220, respectively. The digitalsignal processing unit 155 may then interpolate the base-band in-phaseand quadrature-phase (IQ) data from a particular sample rate up to ahigher sample rate via the programmable interpolation filters 230, andthen translate the base-band IQ data to a programmable carrier frequencyprovided by the NCO 250 to generate enhanced waveform data. Morespecifically, each of the outputs from the first and second data pathsare mixed with the corresponding NCO output via the multipliers 235, andthen combined by the adder 270 to generate the enhanced waveform data atan intermediate frequency (IF).

FIG. 4 is a block diagram of one embodiment of the digital signalprocessing unit 155 in a second configuration for performing datainterpolation functions. The first configuration may include a data pathfor receiving waveform data from the memory 151. The data path mayinclude the programmable gain circuit 210A connected to the programmableoffset circuit 220A, which may be further connected to programmableinterpolating filters 230A. The digital signal processing unit 155 maytranslate waveform data at a particular sample rate up to a highersample rate to generate enhanced waveform data. Typically, DACs (e.g.,DAC 154) have better performance when sampling at higher rates. Samplingat a higher sample rate may also ease analog filter requirements. Byperforming the interpolation functions in the digital signal processingunit 155, systems (e.g., system 100 of FIG. 1) can store smallerwaveforms in memory (e.g., memory 151) and still get the benefits ofsampling at higher rates at the DAC.

FIG. 5 is a block diagram of one embodiment of the digital signalprocessing unit 155 in a third configuration for performinghardware-controlled arbitrary waveform generation functions by using theNCO 250. The third configuration includes a plurality of data pathsoperable to receive data comprising different attributes of a waveformfrom the memory 151. The memory 151 may store lists of attributes, e.g.,frequencies, phases, amplitudes, offsets, and duration, among others,which may be sent to the NCO 250 to generate the correspondingwaveforms, e.g., sine waves. It is noted however that in someembodiments the NCO 250 may generate other types of signals. Therefore,instead of using a substantial amount of the memory 151 for storingcomplex waveform data, the memory 151 may store these lists ofattributes.

In the third configuration, a first data path of the digital signalprocessing unit 155 may receive frequency data to program the NCO 250and a second data path may receive phase data to program the NCO 250. Athird data path may receive gain data to program the gain circuitry 210and a fourth data path may receive offset data to program the offsetcircuitry 220. In response to receiving the frequency and phase data,the NCO 250 may generate a waveform having the corresponding attributes,which may then be sent to the gain circuitry 210 and the offsetcircuitry 220. As a result, the digital signal processing unit 155 maygenerate complex waveform data having the programmed attributes, whichmay be further processed by the DAC 154.

The frequency, phase, gain, and offset lists that are stored in thememory 151 control the NCO 250, the gain circuitry 210, and the offsetcircuitry 220 to generate the desired waveform. As described above, thelists stored in the memory 151 may also include duration data. Theduration data may control how long the components of the digital signalprocessing unit 155 apply a certain data set to their processing. Forexample, duration data may control how long the components are to applya certain frequency, phase, gain, and offset for generating waveformdata. The duration may be any amount of time, for example, 1.1 μs or 3.2μs. In one embodiment, the duration data may program the digital signalprocessing unit 155 to apply specific attributes corresponding to theduration data for a particular period of time. In one embodiment, theduration data may program a timing unit 525 of the digital signalprocessing unit 155 to control the timing of the components. Thishardware-controlled timing is very deterministic, unlikesoftware-controlled timing. The hardware may control the instances oftime when the frequency, phase, gain, and/or offset are changed, andtherefore may control the instance of time when a particular waveformhaving certain attributes is generated.

In the third configuration, the NCO 250 may include a memory 650, whichmay be a bank of memory that is independent from the main arbitrarywaveform memory 151. The NCO memory 650 may receive and store waveformdata from software. The stored waveform data may be used by the NCO 250to generate any type of waveform, which is specified by software. In oneembodiment, the NCO memory 650 may be loaded with a custom waveform, andthen the NCO 250 may perform arbitrary waveform generator functionsbased on the waveform data received from software.

The use of the NCO 250 for arbitrary waveform generation may allow phasecoherent frequency changes as well as excellent frequency resolution,and at the same time may save memory by storing attribute lists (andcomputing complex waveform data) instead of storing complex waveformdata in the memory 151. When compared to hardware, using softwaretypically takes a substantial amount of memory to create complexwaveforms having excellent resolution and frequencies having manydegrees of precision. The NCO 250 may compute the required frequencieson the fly and save computation time and memory. Furthermore, theduration data provided for hardware-controlled timing may also savememory compared to software-controlled timing. In software-controlledtiming, data many need to be sent from memory continuously, which mayrequire a considerable amount of memory. In hardware-controlled timing,the duration data may program the digital signal processing unit 155 fora particular time period and memory may not need to pull the next dataset until the time period expires.

FIG. 6 is a block diagram of one embodiment of the digital signalprocessing unit 155 in a fourth configuration for performingsoftware-controlled arbitrary waveform generation functions by using theNCO 250. The fourth configuration includes a subset of the processingcomponents of the digital signal processing unit 155 interconnected in aparticular way and controlled by software (e.g., software from computersystem 110) to perform waveform generation functions. In the fourthconfiguration, a software-controlled register 660A may be connected tothe programmable NCO 250, which may be further connected to aprogrammable gain circuit 210C and a programmable offset circuit 220C. Asoftware-controlled register 660B may be connected to the gain circuit210C and a software-controlled register 660C may be connected to theoffset circuit 220C.

Similar to the third configuration described above, in the fourthconfiguration the NCO memory 650 may receive and store waveform datafrom software, which may be used by the NCO 250 to generate any type ofwaveform. In one embodiment, the NCO memory 650 may be loaded with acustom waveform, and then the NCO 250 may perform arbitrary waveformgenerator functions based on the waveform data received from software.It is noted however that in other embodiments, in the fourthconfiguration, the digital signal processing unit 155 (including the NCO250) may receive data comprising attributes of a waveform from softwareand perform software-controlled arbitrary waveform generation functionsdepending on the received attributes. As described above, the use of theNCO 250 for arbitrary waveform generation allows phase coherentfrequency changes as well as excellent frequency resolution without theuse of large amount of memory 151.

It should be noted that the components and configurations described withreference to FIG. 3-6 are meant to be exemplary only, and are notintended to limit the invention to any specific set of components orconfigurations. For example, in various embodiments, one or more of thecomponents described may be omitted, combined, modified, or additionalcomponents included, as desired. For instance, in some embodiments, theinterconnections of the different components in each of the variousconfigurations of the digital signal processing unit 155 may vary. Also,in other embodiments, the digital signal processing unit 155 may also beconfigurable to implement down-conversion functions.

In one embodiment, as shown in FIG. 1, the digital signal processingunit 155 of the arbitrary waveform generator 150 is software selectable.The software (e.g., the software from computer system 110) may controlthe selection logic 153 to select or bypass the digital signalprocessing unit 155. Since the digital signal processing unit 155 may bebypassed, time domain applications may still be solved by using thetypical arbitrary waveform generation techniques. In addition, there maybe digital up-conversion cases that require specifications that areoutside of the hardware implementation's ability. In these cases, thedigital signal processing unit 155 may be bypassed and these digitalup-conversion functions may be implemented in software. It is noted thatin some embodiments the digital signal processing unit 155 may bebypassed at any time in one or more of the configurations describedabove.

Besides the digital signal processing unit 155 being highly configurable(via software control) into at least the various configurationsdescribed above, the components within the digital signal processingunit 155 are highly programmable and re-programmable. Even duringgeneration, the processing components may be programmed andre-programmed to generate the desired waveform data. For each of theconfigurations described above, the gain, offset, frequency, phase, therate at which data is received at the digital signal processing unit155, and the rate at which data leaves the digital signal processingunit 155 may all be programmable (e.g., via software-controlledregisters), even during generation. It is noted however that in someembodiments other attributes, timing data, and additionalcharacteristics may also be programmable. It is also noted that thedigital signal processing unit 155 may be re-configurable as many timesas necessary. For example, the digital signal processing unit 155 may bere-configurable from one of the configurations to another one of theconfigurations.

Although the embodiments above have been described in considerabledetail, numerous variations and modifications will become apparent tothose skilled in the art once the above disclosure is fully appreciated.It is intended that the following claims be interpreted to embrace allsuch variations and modifications.

1. An arbitrary waveform generator comprising: a memory operable tostore data for waveform generation; and a digital signal processing unitoperable to process the data received from the memory; wherein thedigital signal processing unit is configurable to perform one of aplurality of different functions using the received data; wherein in afirst configuration the digital signal processing unit is operable toreceive waveform data from the memory and perform digital up-conversionfunctions on the received waveform data to generate enhanced waveformdata; wherein in a second configuration the digital signal processingunit is operable to receive waveform data from the memory and performdata interpolation functions on the received waveform data to generateenhanced waveform data; and wherein in a third configuration the digitalsignal processing unit is operable to receive data comprising attributesof a waveform from the memory and perform hardware-controlled arbitrarywaveform generation functions to generate waveform data.
 2. Thearbitrary waveform generator of claim 1, wherein the digital signalprocessing unit includes a plurality of processing components includinga numerically-controlled oscillator (NCO), gain circuitry, offsetcircuitry, and interpolation filters, and wherein the digital signalprocessing unit is operable to interconnect at least a subset of theplurality of processing components in different configurations toperform one of a plurality of different functions using the receiveddata.
 3. The arbitrary waveform generator of claim 2, wherein each ofthe plurality of processing components is programmable to process thedata received from the memory.
 4. The arbitrary waveform generator ofclaim 3, wherein the first configuration includes a first data pathoperable to receive base-band in-phase (I) data, a second data pathoperable to receive base-band quadrature-phase (Q) data, and aprogrammable NCO, wherein the first data path includes a firstprogrammable gain circuit coupled to a first programmable offset circuitwhich is further coupled to first programmable interpolating filters,wherein the second data path includes a second programmable gain circuitcoupled to a second programmable offset circuit which is further coupledto second programmable interpolating filters.
 5. The arbitrary waveformgenerator of claim 4, wherein, in the first configuration for performingdigital up-conversion functions, the digital signal processing unit isoperable to interpolate the base-band in-phase and quadrature-phase (IQ)data from a particular sample rate up to a higher sample rate via theprogrammable interpolation filters and then translate the base-band IQdata to a programmable carrier frequency provided by the programmableNCO to generate enhanced waveform data.
 6. The arbitrary waveformgenerator of claim 5, wherein in the first configuration, prior to theinterpolation function, the digital signal processing unit is alsooperable to perform gain and offset functions via the programmable gainand offset circuitry.
 7. The arbitrary waveform generator of claim 3,wherein the second configuration includes a data path operable toreceive the waveform data, which includes a programmable gain circuitcoupled to a programmable offset circuit which is further coupled toprogrammable interpolating filters, wherein the digital signalprocessing unit is operable to translate waveform data at a particularsample rate up to a higher sample rate via the first data path togenerate enhanced waveform data.
 8. The arbitrary waveform generator ofclaim 3, wherein the third configuration includes a plurality of datapaths operable to receive data comprising different attributes ofwaveforms, wherein a first data path is operable to receive frequencydata to program the NCO, wherein a second data path is operable toreceive phase data to program the NCO, wherein a third data path isoperable to receive gain data to program the gain circuitry, and whereina fourth data path is operable to receive offset data to program theoffset circuitry, wherein in response to receive the frequency and phasedata the NCO is operable to generate waveform data at the programmedfrequency and phase, wherein based on the programmed frequency, phase,gain, and offset the digital signal processing unit is operable togenerate complex waveform data having the corresponding attributes. 9.The arbitrary waveform generator of claim 8, wherein the received datacomprising different attributes of waveforms also includes durationdata, wherein the duration data is operable to implementhardware-controlled timing by programming the digital signal processingunit to apply specific attributes corresponding to the duration data fora particular period of time to generate waveform data having thespecific attributes.
 10. The arbitrary waveform generator of claim 9,wherein received duration data is operable to program the digital signalprocessing unit to apply a first frequency, phase, gain, and offset fora first period of time to generate waveform data, and then additionalduration data is operable to program the digital signal processing unitto apply a second frequency, phase, gain, and offset for a second periodof time to generate additional waveform data.
 11. The arbitrary waveformgenerator of claim 8, wherein in the third configuration the NCOincludes an NCO memory that is operable to receive and store customizedwaveform data from software, wherein the NCO is operable to performarbitrary waveform generation functions based on the customized waveformdata stored in the NCO memory.
 12. The arbitrary waveform generator ofclaim 1, wherein in a fourth configuration the digital signal processingunit is operable to perform software-controlled arbitrary waveformgeneration functions.
 13. The arbitrary waveform generator of claim 12,wherein in the fourth configuration a programmable NCO is coupled to aprogrammable gain circuit, which is further coupled to a programmableoffset circuit, wherein the NCO includes an NCO memory that is operableto receive and store customized waveform data from software, wherein theNCO is operable to perform arbitrary waveform generation functions basedon the customized waveform data stored in the NCO memory.
 14. Thearbitrary waveform generator of claim 1, operable to generate complexwaveforms without having to store complex waveform data in the memory.15. The arbitrary waveform generator of claim 3, wherein each of theplurality of processing components is programmable and re-programmable,even during waveform generation, and wherein the digital signalprocessing unit is re-configurable.
 16. The arbitrary waveform generatorof claim 1, further comprising software-controlled selection logicoperable to bypass the digital signal processing unit during particularwaveform generation operations.
 17. The arbitrary waveform generator ofclaim 1, comprised in a system including a unit under test (UUT),wherein the arbitrary waveform generator is operable to providewaveforms to stimulate the UUT.
 18. An arbitrary waveform generatorcomprising: a memory operable to store data for waveform generation; anda digital signal processing unit operable to process the data receivedfrom the memory; wherein the digital signal processing unit includes aplurality of processing components including a numerically-controlledoscillator (NCO), gain circuitry, offset circuitry, and interpolationfilters; wherein the digital signal processing unit is configurable tointerconnect at least a subset of the plurality of processing componentsin two or more different configurations to perform one of a plurality ofdifferent functions using the received data.
 19. The arbitrary waveformgenerator of claim 18, wherein: in a first configuration, the digitalsignal processing unit is operable to receive waveform data from thememory and perform digital up-conversion functions on the receivedwaveform data to generate enhanced waveform data; in a secondconfiguration, the digital signal processing unit is operable to receivewaveform data from the memory and perform data interpolation functionson the received waveform data to generate enhanced waveform data; and ina third configuration, the digital signal processing unit is operable toreceive data comprising attributes of a waveform from the memory andperform hardware-controlled arbitrary waveform generation functions togenerate waveform data.
 20. A method for performing arbitrary waveformgeneration functions in an arbitrary waveform generator, wherein thearbitrary waveform generator includes a memory and a digital signalprocessing unit, the method comprising: receiving data from the memory;and configuring the digital signal processing unit to perform one of aplurality of different functions using the received data; wherein, in afirst configuration, the digital signal processing unit receivingwaveform data from the memory and performing digital up-conversionfunctions on the received waveform data to generate enhanced waveformdata; wherein, in a second configuration, the digital signal processingunit receiving waveform data from the memory and performing datainterpolation functions on the received waveform data to generateenhanced waveform data; and wherein, in a third configuration, thedigital signal processing unit receiving data comprising attributes of awaveform from the memory and performing hardware-controlled arbitrarywaveform generation functions to generate waveform data.
 21. The methodof claim 20, wherein the digital signal processing unit includes aplurality of processing components including a numerically-controlledoscillator (NCO), gain circuitry, offset circuitry, and interpolationfilters, and wherein the method further comprising the digital signalprocessing unit interconnecting at least a subset of the plurality ofprocessing components in different configurations to perform one of aplurality of different functions using the received data.
 22. The methodof claim 21, wherein, in the first configuration, said performingdigital up-conversion functions includes the digital signal processingunit interpolating base-band in-phase and quadrature-phase (IQ) datafrom a particular sample rate up to a higher sample rate via theinterpolation filters, and then translating the base-band IQ data to aprogrammable carrier frequency provided by the NCO to generate enhancedwaveform data.
 23. The method of claim 21, wherein, in the secondconfiguration, said performing data interpolation functions includes thedigital signal processing unit translating received waveform data at aparticular sample rate up to a higher sample rate to generate enhancedwaveform data.
 24. The method of claim 21, wherein, in the thirdconfiguration, said performing hardware-controlled arbitrary waveformgeneration functions includes the digital signal processing unitreceiving data comprising different attributes of waveforms, whereinsaid receiving data comprising different attributes includes receivingfrequency data to program the NCO, receiving phase data to program theNCO, receiving gain data to program the gain circuitry, and receivingoffset data to program the offset circuitry, wherein in response toreceiving the frequency and phase data the NCO generating waveform dataat the programmed frequency and phase, wherein based on the programmedfrequency, phase, gain, and offset the digital signal processing unit isoperable to generate complex waveform data having the correspondingattributes.
 25. The method of claim 24, wherein said receiving datacomprising different attributes includes receiving duration data,wherein the duration data is operable to implement hardware-controlledtiming by programming the digital signal processing unit to applyspecific attributes corresponding to the duration data for a particularperiod of time to generate waveform data having the specific attributes.26. The method of claim 24, wherein, in the third configuration, the NCOincludes an NCO memory, wherein the method further comprising the NCOmemory receiving and storing customized waveform data from software, andthe NCO performing arbitrary waveform generation functions based on thecustomized waveform data stored in the NCO memory.
 27. The method ofclaim 21, wherein, in a fourth configuration, the method furthercomprising the digital signal processing unit performingsoftware-controlled arbitrary waveform generation functions.
 28. Themethod of claim 27, wherein, in the fourth configuration, the NCOincludes an NCO memory, wherein said performing software-controlledarbitrary waveform generation functions includes the NCO memoryreceiving and storing customized waveform data from software, and theNCO performing arbitrary waveform generation functions based on thecustomized waveform data stored in the NCO memory.
 29. The method ofclaim 20, wherein said performing one of a plurality of differentfunctions includes generating complex waveforms without having to storecomplex waveform data in the memory.
 30. An instrumentation systemcomprising: a memory operable to store data for waveform generation; anda digital signal processing unit operable to process the data receivedfrom the memory; wherein the digital signal processing unit includes aplurality of processing components including a numerically-controlledoscillator (NCO), gain circuitry, offset circuitry, and interpolationfilters; wherein the digital signal processing unit is configurable tointerconnect at least a subset of the plurality of processing componentsin different configurations to perform one of a plurality of differentfunctions using the received data; wherein in a first configuration thedigital signal processing unit is operable to receive waveform data fromthe memory and perform digital up-conversion functions on the receivedwaveform data to generate enhanced waveform data; wherein in a secondconfiguration the digital signal processing unit is operable to receivewaveform data from the memory and perform data interpolation functionson the received waveform data to generate enhanced waveform data; andwherein in a third configuration the digital signal processing unit isoperable to receive data comprising attributes of a waveform from thememory and perform hardware-controlled arbitrary waveform generationfunctions to generate waveform data.
 31. The instrumentation system ofclaim 30, wherein in a fourth configuration the digital signalprocessing unit is operable to perform software-controlled arbitrarywaveform generation functions.